A conventional echo canceller exhibits poor performance where a near end speaker is communicating from an extremely noisy environment such as a computer room or vehicle. Machine noise, printer activity, or road and engine noise can preclude the echo canceller from seeing small echoes. The issue of updating in high noise conditions is a recognized problem. The conventional approach to solving the problem has been to limit the step size or update gain of an adaptation algorithm. Many echo cancellers, targeting either acoustic or electrical echoes, use a “Dual-path” model to avoid problems with updating during near end speech or double talking.
In conventional echo cancellers, performance criteria are used in making coefficient swap (or transfer) and gain update decisions. In the case of a noisy environment, any difference between the input signal level when echo is present and when there is no echo can be very small, if even measurable at all. In the noisy environment, measuring the foreground and background performance differences is very difficult. In fact, determining whether any meaningful cancellation is occurring at all can be difficult. If thresholds are set too wide for the swap decision process, then background to foreground transitions may not occur. If the thresholds are set too narrow, then many transfers may occur when the background canceller is not performing well enough, even if the background canceller is performing better than the foreground canceller.
It would be desirable to have a method and/or apparatus for training an echo canceller that does as well as the conventional methods under normal circumstances and performs well in the presence of severe noise.